package lab02.test23;

import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的生日(格式为：)xxxx-xx-xx:" );
        Calendar calendar = Calendar.getInstance();//创建日历
        String str = scanner.nextLine();
        String year = str.substring(0,4);
        //subString 是截取字符串的意思
        //括号中的两个参数是截取的下标值
        //第一个是起始下标，从 0 开始数，第二个是结束下标，从 1 开始数
        String month = str.substring(5,7);
        String day = str.substring(8);
        calendar.set(Integer.parseInt(year),Integer.parseInt(month),Integer.parseInt(day));
        //Integer.parseInt(year,month,day)就是将year,month,day字符类型数据转换为Integer整型数据
        System.out.println("输出对应的星期几:");
        int week = calendar.get(Calendar.DAY_OF_WEEK);
        //返回的是周几，而不是一周的第几天
        switch (week)
        {
            case 1:System.out.println("星期一");break;
            case 2:System.out.println("星期二");break;
            case 3:System.out.println("星期三");break;
            case 4:System.out.println("星期四");break;
            case 5:System.out.println("星期五");break;
            case 6:System.out.println("星期六");break;
            default:System.out.println("星期天");break;
        }
        Date date2 = new Date();
        calendar.set(1997,Integer.parseInt(month),Integer.parseInt(day));
        //设置年月日
        Date date1 = calendar.getTime();
        long countDay = (date1.getTime() - date2.getTime())/(24*60*60*1000);
        //日期相减
        if(countDay < 0){
            calendar.set(2018,Integer.parseInt(month),Integer.parseInt(day));
            date1 = calendar.getTime();
            countDay = (date1.getTime() - date2.getTime())/(24*60*60*1000);
        }
            System.out.println("距离我的下个生日还有"+countDay+"天");
    }
}

